home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1999-01-17 | 4.0 KB | 145 lines |
- Screen Open 0,1008,800,32,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Palette $FFF,0,$888,$F00,$800,$F0,$80,$44F,$228,$CC0,$440,$F0F,$808,$FF,$88,$F80,$840,$555,$111
- Dim TRT#(20),TRT(20,1),TRT$(20)
- Degree
- LEGENDE=1
- Restore DAT1992
- X=510 : Y=450 : R=300 : SH=20
- Gosub TRTE
- Save Iff "dh1:pop1992.iff"
- Cls
- LEGENDE=0
- Restore DAT1996
- X=400 : Y=450 : R=300 : SH=20
- Gosub TRTE
- Save Iff "dh1:pop1996.iff"
- End
- TRTE:
- Read T$,NUM
- MXV#=0.0
- For A=1 To NUM
- Read TRT$(A),TRT#(A)
- MXV#=MXV#+TRT#(A)
- TRT(A,0)=((A-1) mod 10)*2+3
- TRT(A,1)=((A-1) mod 10)*2+4
- Next
- TRT#(NUM+1)=MXV#
- Extension_8_059C "CGTimes",60
- Gr Writing 0
- XX=X-Text Length(T$)/2
- YY=Text Base+10
- ' Ink 2 : Text XX-1,YY,T$ : Text XX,YY-1,T$ : Text XX+1,YY,T$ : Text XX,YY+1,T$
- ' Ink 1 : Text XX,YY,T$
- P=1 : PCT#=0.0
- DX=0 : DY=0 : DISP=0
- OX=R : OY=0
- For A=0 To 1024 Step 2
- PT#=(A/1024.0)*MXV#
- If PT#-PCT#=>TRT#(P) or A=1024 Then PCT#=PCT#+TRT#(P) : Inc P
- If P=NUM and DISP=0
- DISP=1
- DX=Cos((A+1024)*180.0/1024.0)*R/5
- DY=Sin((A+1024)*180.0/1024.0)*R/5
- End If
- Exit If P>NUM
- XX=Cos(A*360.0/1024.0)*R : YY=Sin(A*360.0/1024.0)*R
- Ink TRT(P,1) : Polygon X+OX+DX,Y+OY+DY To X+XX+DX,Y+YY+DY To X+XX+SH+DX,Y+YY+SH+DY To X+OX+SH+DX,Y+OY+SH+DY
- Polygon X+DX,Y+DY To X+SH+DX,Y+SH+DY To X+XX+SH+DX,Y+YY+SH+DY To X+XX+DX,Y+YY+DY
- OX=XX : OY=YY
- Next
- P=1 : PCT#=0.0
- DX=0 : DY=0 : DISP=0
- OX=R : OY=0
- TX=0 : TY=0
- For A=0 To 1024 Step 2
- PT#=(A/1024.0)*MXV#
- If PT#-PCT#=>TRT#(P) or A=1024
-
- Extension_8_059C "CGTimes",35
- If LEGENDE
- Ink 1 : Box TX+3,TY+6 To TX+16,TY+19
- Ink TRT(P,0) : Bar TX+4,TY+7 To TX+15,TY+18
- XX=TX+20
- YY=TY+Text Base
- TT$=TRT$(P)
- Ink 1 : Text XX-1,YY,TT$ : Text XX,YY-1,TT$
- Text XX+1,YY,TT$ : Text XX,YY+1,TT$
- Ink TRT(P,0) : Text XX,YY,TT$
- Add TY,30
- End If
-
- V#=((PCT#+(TRT#(P)*0.5))*360.0)/MXV#
- XX=DX+X+(Cos(V#)*12*R)/13 : YY=DY+Y+(Sin(V#)*12*R)/13
- PX=XX+Cos(V#)*R/7.0 : PY=YY+Sin(V#)*((R/7.0)+(P and 1)*0.0)
- Ink TRT(P,1)
- Draw PX-1,PY To XX-1,YY
- Draw PX,PY-1 To XX,YY-1
- Draw PX+1,PY To XX+1,YY
- Draw PX,PY+1 To XX,YY+1
- Ink TRT(P,0) : Draw PX,PY To XX,YY
- YY=PY+Text Base-19
- If PX>X
- XX=PX
- Else
- XX=PX-Text Length(TRT$(P))
- End If
- TT$=TRT$(P)
- If TRT#(P)/MXV#>0.04
- Ink 1 : Text XX-1,YY,TT$ : Text XX,YY-1,TT$ : Text XX+1,YY,TT$ : Text XX,YY+1,TT$
- Ink TRT(P,0) : Text XX,YY,TT$
- TT$=(Str$(TRT#(P))-" ")+"%"
- XX=X+DX+(Cos(V#)*4*R)/5-Text Length(TT$)/2 : YY=Y+DY+(Sin(V#)*4*R)/5+Text Base
- Ink 1 : Text XX-1,YY,TT$ : Text XX,YY-1,TT$
- Text XX+1,YY,TT$ : Text XX,YY+1,TT$
- Ink 0 : Text XX,YY,TT$
- Else
- TT$=TT$+" ("+(Str$(TRT#(P))-" ")+"%)"
- Ink 1 : Text XX-1,YY,TT$ : Text XX,YY-1,TT$ : Text XX+1,YY,TT$ : Text XX,YY+1,TT$
- Ink TRT(P,0) : Text XX,YY,TT$
- End If
- PCT#=PCT#+TRT#(P)
- Inc P
- End If
- If P=NUM and DISP=0
- DISP=1
- DX=Cos((A+1024)*180.0/1024.0)*R/5
- DY=Sin((A+1024)*180.0/1024.0)*R/5
- End If
- Exit If P>NUM
- XX=Cos(A*360.0/1024.0)*R : YY=Sin(A*360.0/1024.0)*R
- Ink TRT(P,0) : Polygon X+DX,Y+DY To X+OX+DX,Y+OY+DY To X+XX+DX,Y+YY+DY
- OX=XX : OY=YY
- Next
- Return
- DAT1992:
- Data "M�usepopulation 1992",8
- Data "Feldmaus",35.7
- Data "Waldspitzmaus",27.2
- Data "Schermaus",11.9
- Data "Waldmaus",4.8
- Data "Erdmaus",3.2
- Data "Feldspitzmaus",1.6
- 'Data "Zwergmaus",0.8
- 'Data "Zwergspitzmaus",0.8
- 'Data "Hausmaus",0.8
- 'Data "R�telmaus",0.8
- 'Data "Sumpfspitzmaus",0.0
- Data "sonstige",3.2
- Data "unbestimmt",11.9
-
- DAT1996:
- Data "M�usepopulation 1996",8
- Data "Feldmaus",60.6
- Data "Waldspitzmaus",11.3
- Data "Schermaus",5.2
- Data "Waldmaus",4.7
- Data "Erdmaus",5.2
- Data "Feldspitzmaus",5.6
- 'Data "Zwergmaus",0.0
- 'Data "Zwergspitzmaus",0.0
- 'Data "Hausmaus",0.0
- 'Data "R�telmaus",2.1
- 'Data "Sumpfspitzmaus",0.5
- Data "sonstige",2.6
- Data "unbestimmt",4.7